import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
// 适用于vue3的懒加载插件，vuelazy只适用于2.0，https://github.com/ustbhuangyi/vue3-lazy
// 下载安装后全局注册, 实际上是全局注册了一个v-lazy这样的一个指令，使用时替换src即可,非视口内图片就不会去加载
import lazyPlugin from 'vue3-lazy'

// 注册指令
import loadingDirective from '@/components/base/loading/directive'
import noResultDirective from '@/components/base/no-result/directive'

// 引入全局样式文件,注意不能加双引号
import '@/assets/scss/index.scss'

/* 注册的时候使用directive（‘指令名称’， 指令对象）
 因为叫v-loading所以这里传入Loading,
* directive('loading', loadingDirective)
全局注册后这个app下就可以全局使用v-loading了
* */

createApp(App).use(store).use(router).use(lazyPlugin, {
  // 配置默认加载的图片 使用webpack的require语法,它会自适应选择图片加载的方式外链或者base64
  loading: require('@/assets/images/default.png')
}).directive('loading', loadingDirective).directive('no-result', noResultDirective).mount('#app')
